home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1996 February
/
EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso
/
earcd
/
fonts
/
altfntpc.lha
/
AltFontPatch
/
kódování E2
< prev
next >
Wrap
Text File
|
1995-10-20
|
8KB
|
150 lines
kódování.doc
Dokumentace k: AltFontPatch - volba kódování
$VER: kódování_doc 2.76 (20.10.95)
Autor: Stanislav Brabec (UTX)
Vyîehradská 27
128 00 PRAHA 2 - Nové Mësto
Çeská republika
telefon: +42 2 291397
e-mail: utx@k332.feld.cvut.cz
Informace o souboru
Tento text se podrobnëji zabývá volbou kódování znakových sad pro
poçítaçe AMIGA a zdûvodñuje vznik kódování ªE2º.
Oprávnëní
Tento soubor je veêejnë îiêitelný. Kódování souboru: ªE2º.
Úvod
Pêi pêípravë çeského národního prostêedí vznikla potêeba rozhodnout
o kódování çeských znakû u poçítacû AMIGA. V té dobë kolovalo na AMIGU
vëtîí mnoùství rûzných kódování, které byly více çi ménë (vëtîinou vîak
ménë) vhodné a mëly rûznou dalîí podporu. Bylo moùné vybrat nëkteré
z nich, anebo sáhnout po normë. Udëlal jsem to druhé a implementoval jsem
kódování ISO 8859-2, çili tzv. Latin 2. Pêi testování jsem vîak narazil na
problémy, a proto vzniklo kódování ªE2º, které je êeîí.
Struçný pêehled norem a jejich obsahu
Kdo si pêeçte normu ÇSN 36 9103, opraví si ji dle opravního lístku,
opravy opravního lístku, opravy opravy opravního lístku, a dále opraví
chyby, které tam pêes têi vydané erraty zûstaly, zjistí, jak má vypadat
osmibitové kódování u poçítaçû v zemích (bývalého) RVHP. Nalezne zde mimo
jiné následující kódování:
KOI-8 K1 s výjimkou 2 znakû ASCII + azbuka
KOI-8 L2 s výjimkou 4 znakû ISO Latin 2
KOI-8 ÇS2 s výjimkou 2 znakû ASCII + çeîtina, slovenîtina, základní
semigrafika, nëkolik êeckých písmen, ©, ®, a ªCHº a ªchº
a dále nëkolik podivných kódování, které nedodrùují ani rozloùení ASCII.
Ony 4 výjimeçné znaky jsou navzájem zamënëné znaky (dle doporuçení
jakési ªIRVº):
$ <-> ¤ (znak ªdollarº je pravdëpodobnë z ideologických dûvodû zamënëný se
znakem ªcurrencyº)
~ <-> ¯ (zámëna ªtildeº a ªmacronº, dûvod zámëny je nejasný)
Dalîí (nejdûleùitëjîí) normou, která stojí za úvahu, je norma
ISO 8859, zejména její çást ISO 8859-2. Je to ona známá ªLatinská
abeceda 2º.
Zdá se, ùe právë tuto normu chtëla firma Commodore implementovat
pro Amigu. Nároçný uùivatel vîak chce, aby mohl pouùívat çeské uvozovky, a
aby zûstaly nezkomolené znaky, které operaçní systém pouùívá. I na to
norma ISO pamatuje a definuje tzv. kódové strany. A tuto úroveñ
implementace Amiga nemá! Implementaci kódových stran má zçásti pouze
¸locale.library¢ a ¸bullet.library¢. Jádro operaçního systému vîak nic
takového ani ve verzi 3.0 neobsahuje. A tak do doby, neù se objeví na
Amize 16-bitové sluùby, nezbývá, neù vyrobit privátní kódovou stranu, která
vîechny potêebné znaky obsahuje. Takovou je právë kódová strana ¸E2¢.
V této kapitole poznamenám jeîtë dalîí dûleùitý poznatek pro ty,
kteêí by chtëli implementovat azbuku: Pouùití kódové strany ªCyrilské
kódování 1º by bylo dle normy ùádoucí, ale pêi pojmenovávání souborû
azbukovými jmény zpûsobí jeho implementace u diskû v mezinárodním módu
zhroucení tzv. haîovací tabulky diskového systému a tím znaçné zpomalení
práce se soubory. Proto ani pro azbuku není u AMIGY vhodná norma ISO!
Zdûvodnëní kódování ªE2º
Pêi návrhu této kódové strany jsem se êídil tëmito zásadami:
- V maximální moùné míêe zachovat pûvodní znaky, aby texty byly alespoñ
srozumitelné (pouze znak ªÿº tuto konvenci nedodrùuje, protoùe u znakû ªE2º
je nepárový a na speciální pozici)
- Podpoêit çeîtinu, slovenîtinu, polîtinu a zachovat nëmçinu
- Implementovat nejenom diakritiku, ale i interpunkçní znaménka
(uvozovky)
- Ponechat vëtîinu speciálních znakû
- Oblast znakû $80 - $9F nepouùít, protoùe ji ISO jako systémovou oblast
nepodporuje.
- Oblast znakû $A0-$BF,$D7,$DF,$F7,$FF vyuùít pro interpunkci a speciální
znaky (znak $FF jako speciální pozice)
- Oblast znakû $C0-$D6,$D8-$DE pouùít pro velká písmena s diakritikou
- Oblast znakû $E0-$F6,$F8-$FE pouùít pro malá písmena s diakritikou tak,
aby malé písmeno mëlo poloho o $20 vyîîí neù odpovídající velké
Dalîím poùadavkem, který byl na tuto znakovou sadu poloùen, je
snadné národní srovnávání êetëzcû (diakritika nad urçitým písmenem je
êazena v poêadí podle ÇSN 01 0181 {opët s výjimkou ªÿº}).
Pouze dodrùení tëchto poùadavkû umoùní správnou funkci vîech
správnë napsaných programû i bez pouùití ¸locale.library¢ pêi takových
funkcích, jakými je rozpoznávání a pêevod malých písmen na velká.
Tabulka znakû
-------------------------------------------------------------------------
| DEC HEX | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
|-------------------------------------------------------------------------|
| 32 20 | | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / |
|-------------------------------------------------------------------------|
| 48 30 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
|-------------------------------------------------------------------------|
| 64 40 | @ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
|-------------------------------------------------------------------------|
| 80 50 | P | Q | R | S | T | U | V | W | X | Y | Z | [ | \ | ] | ^ | _ |
|-------------------------------------------------------------------------|
| 96 60 | ` | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o |
|-------------------------------------------------------------------------|
| 112 70 | p | q | r | s | t | u | v | w | x | y | z | { | | | } | ~ | |
|-------------------------------------------------------------------------|
| 160 A0 | | ¡ | ¢ | £ | ¤ | ¥ | ¦ | § | ¨ | © | ª | « | ¬ | | ® | ¯ |
|-------------------------------------------------------------------------|
| 176 B0 | ° | ± | ² | ³ | ´ | µ | ¶ | · | ¸ | ¹ | º | » | ¼ | ½ | ¾ | ¿ |
|-------------------------------------------------------------------------|
| 192 C0 | À | Á | Â | Ã | Ä | Å | Æ | Ç | È | É | Ê | Ë | Ì | Í | Î | Ï |
|-------------------------------------------------------------------------|
| 208 D0 | Ð | Ñ | Ò | Ó | Ô | Õ | Ö | × | Ø | Ù | Ú | Û | Ü | Ý | Þ | ß |
|-------------------------------------------------------------------------|
| 224 E0 | à | á | â | ã | ä | å | æ | ç | è | é | ê | ë | ì | í | î | ï |
|-------------------------------------------------------------------------|
| 240 F0 | ð | ñ | ò | ó | ô | õ | ö | ÷ | ø | ù | ú | û | ü | ý | þ | ÿ |
-------------------------------------------------------------------------
Poznámka: Znaky ¸á¢, ¸é¢, ¸í¢, ¸ó¢, ¸ú¢, ¸ý¢ jsou sice podobné
odpovídajícím znakûm pûvodní znakové sady, ale nejsou s nimi zcela
zamënitelné. Liîí se od sebe umístëním a tvarem çárky nad písmenem (je to
patrné zvláîï u vëtîích velikostí znakových sad).
Srovnání výhod a nevýhod ªE2º a ªISO Latin 2º
-----------------------------------------------------------
| | E2 | Latin 2 |
|-----------------------------------------------------------|
| definováno normou | - | + |
|-----------------------------------------------------------|
| malá <-> velká písmena bez ¸locale¢ | + | - |
|-----------------------------------------------------------|
| systémem pouùívané znaky »©·® | + | - |
|-----------------------------------------------------------|
| îiroký repertoár uvozovek ªº¥"¸¢¡`'«» | + | - |
|-----------------------------------------------------------|
| zachování zlomkû a exponentû | + | - |
|-----------------------------------------------------------|
| sekundární têídící poêadí | + | - |
|-----------------------------------------------------------|
| implementace pêenositelných médií | - | + |
|-----------------------------------------------------------|
| rumunîtina a maðarîtina | - | + |
-----------------------------------------------------------
Vysvëtlivky:
+: snadná implementace, odpovídá poùadavkûm
-: nesnadná implementace, neodpovídá poùadavkûm
Které kódování si uùivatel zvolí, nechávám na nëm.
Konec souboru.